Semiconductor memory devices, including flash memory, typically utilize memory cells to store data as an electrical value, such as an electrical charge or voltage. A flash memory cell, for example, includes a single transistor with a floating gate that is used to store a charge representative of a data value. Flash memory is a non-volatile data storage device that can be electrically erased and reprogrammed. More generally, non-volatile memory (e.g., flash memory, as well as other types of non-volatile memory implemented using any of a variety of technologies) retains stored information even when not powered, as opposed to volatile memory, which requires power to maintain the stored information.
Garbage collection operations are performed for reclaiming space for host writes and for ensuring data read reliability. As non-volatile memory size in enterprise systems continues to grow, and such system are used by an increasing number and variety of hosts having different memory usage patterns, garbage collection to ensure data integrity, as well as for data reclamation, consumes more resources of the memory devices and potentially has a greater impact on the availability of non-volatile memory to the hosts. Therefore, it would be desirable to effectively and efficiently manage garbage collection operations for data integrity and data reclamation for one or more portions of the memory to evenly spread the garbage collection work and to provide reduced impact to host activities.